1. Field of the Invention
The present invention relates to a network communication system, and more particularly to broadcasting and multicasting in a network communication system, especially one in which multiple networks are interconnected to form an internetwork or internet.
2. Description of the Related Art
Internet communication has generally been one-to-one (unicast), as in electronic mail (e-mail) and the worldwide web (WWW). Recently, however, there has been a growing need to use internets for various one-to-many communication purposes, including television and radio broadcasts, teleconferencing, web data distribution, and real-time distribution of multimedia information. In this type of communication, generally referred to as multicasting or broadcasting, packets containing the same user information must be sent to a plurality of destinations simultaneously. This leads to difficult problems not encountered in unicasting.
For example, conventional internet protocol (IP) technology, described in the document entitled Request for Comments 791, requires complicated routing optimization procedures to find optimal transmission paths from a source node to destination nodes during broadcasting (as described in Request for Comments 919) and multicasting (described in Request for Comments 1112). These complicated routing optimization systems include schemes known as Flooding, Spanning Trees, Source Based Tree (SBT), Reserve Path Broadcasting (RPB), Truncated Reverse Path Broadcasting (TRPB), Reverse Path Multicast (RPM), and Shared Tree. In addition, much copying of user data is required.
Multicasting and broadcasting using these routing optimization schemes presents the following problems:
(1) Complicated Routing to Avoid Looping Paths
A looped path makes it impossible for packets to reach their final destinations, not only preventing the intended communication but also causing a prodigious increase in network traffic. It is necessary to eliminate loops on the paths from the packet source to each destination. There are established routing procedures for defining such loop-free paths, but while a unicast requires the routing of only a single path, a multicast or broadcast requires the definition of loop-free paths for all destinations, so inevitably the routing algorithm becomes more complicated. Typical examples of the routing algorithms conventionally used in multicast and broadcast processing include the Distance Vector Multicast Routing Protocol (DVMRP) and Multicast Open Shortest Path First (MOPSF).
(2) Poor Network Reliability
In a multicast or broadcast, it is a general rule that the number of nodes along a path from the source to a destination (the hop count) differs from path to path. The degree of congestion and other factors also vary from path to path, and it is not always possible for the necessary packets (multicast or broadcast packets) to be sent to all intended destinations. For example, as the hop count increases, the possibility that the path may include a highly congested node increases, so the probability that multicast (or broadcast) packets may be lost due to overflow of a buffer at a highly congested node becomes higher.
(3) Poor Real-Time Performance and Simultaneity of Communications
In a multicast or broadcast, it is generally true, as noted above, that the hop count to the destination varies from path to path, but when the hop count varies, the round trip time (RTT) usually also varies from path to path, and accordingly the multicast (or broadcast) packets fail to arrive at all destinations simultaneously. In addition to the problem of loss of simultaneity in arrival of packets, some types of applications may have problems in maintaining real-time communication.
(4) Uneven Bandwidth
The heterogeneity of the networks involved in an internet multicast or broadcast generally prevents all receivers (destinations) from receiving the multicast or broadcast information over communication links of the same bandwidth. Different receivers have network connections with different bandwidths. This problem exacerbates problems (2) and (3) noted above.
(5) Repeated Copying at Relay Nodes
It has been necessary to copy data (user information) at relay nodes, the number of required copies being equal to the number of destinations.